package hehe.worker.queue;

import hehe.worker.base.Queue;

import java.util.concurrent.LinkedBlockingQueue;

/**
 * 无界队列
 *<B>说明：</B>
 *<pre>
 * 略
 *</pre>
 *<B>示例：</B>
 *<pre>
 *  略
 *</pre>
 *<B>日志：</B>
 *<pre>
 *  略
 *</pre>
 *<B>注意事项：</B>
 *<pre>
 *  略
 *</pre>
 */
public class LinkedBlockingTaskQueue<E> extends Queue<E>
{
    private LinkedBlockingQueue<E> tasks = new LinkedBlockingQueue<E>();

    /**
     * 压入任务
     *<B>说明：</B>
     *<pre>
     * 略
     *</pre>
     */
    public boolean push(E task)
    {
        return this.tasks.add(task);
    }

    /**
     * 弹出任务
     *<B>说明：</B>
     *<pre>
     * 略
     *</pre>
     */
    public E pop()
    {
        return this.tasks.poll();
    }

    /**
     * 弹出任务
     *<B>说明：</B>
     *<pre>
     * 略
     *</pre>
     */
    public int size()
    {
        return this.tasks.size();
    }
}
